home *** CD-ROM | disk | FTP | other *** search
-
-
- Schrifterkennung mit dem Programm S c r y p t o
- ------------------------------------------------
-
-
- Wie der Name entstand:
-
- Ein Schriftstück heißt im lateinischen scriptum. Auch wenn das
- Latein heute etwas aus der Mode gekommen ist, so wird dieses Wort
- doch noch heute an den Hochschulen verwendet. Aber wie kam das Y
- in den Programmnamen? Nun - Schrift hat viel mit Ästhetik zu tun,
- und da das Y so ein schöner Buchstabe ist, der leider viel zu
- selten in der deutschen Sprache vorkommt, habe ich das Y in den
- Programmnamen eingebaut und damit das Ganze noch ein wenig
- vornehm klingt (nomen est omen), habe ich ein O darangehaengt. Es
- heißt zwar "vornehm geht die Welt zugrunde", aber man soll ja
- posetiv denken. Also hoffen Sie mit mir, daß das Programm
- möglichst viele Buchstaben richtig erkennt und wenn einmal ein
- falscher 50iger dabei ist, dann bedenken Sie, daß das Programm ja
- nichts gekostet hat. Irren ist schließlich nicht nur menschlich!
- Mehr zur philosophischen Seite der Datenverarbeitung in dem
- Ordner GEGJAHWE in der Datei NEUROVOR.DOC (1st Word Plus Text).
- Dieser Ordner enthält außerdem noch Texte, die man bei der
- Diskussion mit christlichen Sekten und christlichen Fundamenta-
- listen als Argumentation verwenden kann. Der Ordner enthält einen
- Teil jener Texte, die Ende 1993 als Buch unter dem Titel "Mit
- Argumenten gegen die Zeugen Jahwes" erscheinen sollen (gute
- Vorsätze für das Jahr 1992 und gerade passend zu dem von den
- christlichen Kirchen ausgerufenen Jahr der Bibel, da es sich
- hierbei um Religionskritik anhand der Bibel handelt).
-
-
- Zur Arbeitsweise des Programms SCRYPTO:
-
-
- Grundsätzliches
-
- Jede Art der Informationsgewinnung geht von bestimmten Voraus-
- setzungen aus. Wir gehen z. B. von der Voraussetzung aus, daß die
- ganze Welt aus unterschiedlichen Dingen besteht. Streng genommen
- stimmt das nicht ganz, denn die ganze Welt ist erfüllt von
- elektromagnetischen Kraftfeldern und die Gravitation hält unsere
- Galaxie zusammen. Atome und Moleküle sind nur Energiebündel in
- diesem Kosmos, Bündel mit unterschiedlicher Größe und unter-
- schiedlichen Eigenschaften. Mit den Voraussetzungen ist das eben
- so eine Sache. Die meisten stimmen nur zu einem gewissen
- Prozentsatz oder sie bleiben Ansichtssache.
-
- Die Informationsgewinnung aus einem Bild läßt sich grob als ein
- dreistufiger Prozeß beschreiben. Zuerst wird das Bild aufgeteilt
- in kleinere Einheiten. Diese Einheiten werden dann mit Gedächt-
- nisinhalten verglichen und schließlich wird ein symbolischer Wert
- zugewiesen. Das Gedächtnis besteht hier aus einer Tabelle, in der
- die Zeichen samt ihrer Zuordnung zu bestimmten Symbolen stehen.
- Werden ähnliche Merkmale erkannt, dann wird ein symbolischer Wert
- zugewiesen, in diesem Fall ein Schriftsymbol.
-
-
-
- Bild lesen und korrigieren
-
- Nach dem Einlesen des Bildes (Menüleiste "Datei"), kann man den
- relevanten Teil des Bildes eingrenzen mit den Menüpunkten "links
- oben", "rechts unten" (Menüleiste "Markierungen").
-
- Störende Linien, einzelne Buchstaben oder auch zusammenhängende
- Bereiche kann man mit dem Menüpunkt "löschen einer Linie"
- beseitigen (Das Fadenkreuz auf den Buchstaben setzen und die
- linke Mouse-Taste antippen). Rechteckige Bildschirmbereiche kann
- man mit dem Menüpunkt "löschen eines Rechecks" verschwinden
- lassen. (Bei gedrückter linker Mouse-Taste von links oben nach
- rechts unten ein Rechteck aufziehen. Beim Loslassen der Mouse-
- Taste wird das Rechteck gelöscht.) Beides unter der Menüleiste
- "Markierungen".
-
-
- Zeichensatz und Spelling-Tabelle
-
- Nun kann, falls vorhanden, noch ein Zeichensatz eingetrichtert
- werden (Menüleiste "Buchstaben"). Wenn kein Zeichensatz vorhanden
- ist, reagiert das Programm wie ein Kleinkind. Es schreit! Aber
- damit die Nachbarn nicht aus dem Bett fallen, erscheint am
- Bildschirm eine Dialogbox, auf der man bis zu vier Buchstaben
- eingeben kann. Das Programm verarbeitet also auch sogenannte
- Ligationen - Buchstaben, die aneinanderkleben. Damit der Aufbau
- eines Zeichensatzes nicht so langweilig ist, gibt es für die
- Zeicheneingabe zwei Dialogboxen, die willkürlich (zufällig) aus-
- gewählt werden. Und nachdem in unserer Welt große Tiere den Ton
- angeben, sind die Tiere hier auch gleichzeitig der OK Button.
-
- Die Zeichenkombination wird im Bild schwarz markiert und
- erscheint, soweit möglich über der Dialogbox. In der Dialogbox
- wird die Zeichenkombination ebenfalls angezeigt. Ein Icon (64 *
- 64 Pixel) ist dafür reserviert.
-
- Da beim Scannen manchmal auch Punkte erzeugt werden, wo im
- Original keine sind, kann man diese Zeichen übergehen, wenn sie
- als im Zeichensatz fehlend moniert werden. Hierzu tippt man in
- der Dialogbox "Zeichen ignorieren" und "Zeichen nicht speichern"
- an.
-
- Die Spelling-Tabelle dient dazu Übersetzungsfehler zu minimieren.
- Das Programm geht bei seiner Interpretation der Zeichen von der
- Annahme aus, daß ein Zeichen aus einem zusammenhängenden Pixel-
- bereich besteht. Das Programm sieht bei einem i erst einmal nur
- das i ohne den Punkt und dann das Tüpfelchen auf dem i. Das i
- wird also erst einmal als "i." übersetzt. Um dies zu korrigieren
- gibt es die Spelling-Tabelle. Wie einzelne Zeichenkombinationen
- umgesetzt werden könen, kann man sich mit dem Menüpunkt Spelling
- Tabelle ändern ansehen (Mit return durchblättern oder wie üblich
- mit der linken Mousetaste auf Abbruch tippen, wenn man die
- Dialogbox verlassen will).
-
-
- Zeichenabstand
-
- Der Menüpunkt Leerzeichen dient dazu den minimalen Pixelabstand
- zwischen zwei Worten festzulegen. Wird hier kein Wert angegeben,
- so wird mit dem Wert gearbeitet, der im Zeichensatz hinterlegt
- ist. Der eingegebene Wert wird zusätzlich bildlich in der
- Dialogbox als Leerzeichen zwischen zwei Balken dargestellt. Diese
- Dialogbox kann man verlassen, indem man das schwarz umrahmte OK
- mit der linken Mouse-Taste antippt. Wo ist das nicht so?
-
-
- Schrifterkennung
-
- Tippt man auf Analyse, so beeilt sich das Programm den Text zu
- entziffern. In mehreren Schritten wird jeweils ein Zeichen
- isoliert. Erst einmal werden die Leerzeilen markiert, dann wird
- der Beginn eines Zeichens ermittelt und schließlich wird das
- Zeichen in den Analysebereich übertragen und verschwindet dann
- von der Bildfläche. So braucht immer nur nach dem ersten Zeichen
- gesucht zu werden und das steht immer in der obersten Zeile
- links.
-
- Das Programm arbeitet nach einem leicht modifizierten pattern-
- matching Verfahren. d. h. das Zeichen wird pixelweise mit einem
- Zeichen aus der Zeichentabelle verglichen, wobei das Zeichen
- jeweils um ein Pixel nach links, rechts, oben und unten ver-
- schoben wird. Ungenauigkeiten des Scanners werden auf diese Weise
- etwas ausgeglichen. Der Zeichensatz wird so möglichst klein
- gehalten. Dies hat leider aber auch einen Nachteil: Wenn die
- Zeichen sehr klein sind, dann verhält sich das Programm wie ein
- alter Dackel ohne Brille. Es verwechselt mal den einen oder
- anderen Buchstaben.
-
- Das Programm interpretiert, wie bereits gesagt, jeden zusammen-
- hängenden Bereich als Zeichen. Es kann daher auch Kursivschrift
- verarbeiten.
-
- Das Programm erkennt das als Zeile, was zwischen den Leerzeilen
- steht. Die Information wird zeilenweise abgearbeitet. Fehlt diese
- Leerzeile zwischen den Zeilen, so ist es am besten, wenn man den
- Analysevorgang mit dem Menüpunkt "Analyse beenden" vorzeitig
- verläßt. Das Programm nimmt sonst abwechselnd einen Buchstaben
- aus der oberen und einen aus der unteren Zeile. Die fehlende
- Leerzeile kann man mit dem Menüpunkt "Leerzeile erzeugen"
- plazieren (Menüleiste Markierungen).
-
- Auf dem Textfenster kann man den Übersetzungsvorgang verfolgen.
- Jeweils drei Zeilen maximal 75 Zeichen werden hier dargestellt.
-
- Um den Text zu verarbeiten, speichert man ihn erst einmal mit dem
- Menüpunkt Textausgabe ab. Jedes Textsystem, das ASCII-Code lesen
- kann, kann nun diesen Text verarbeiten. Eine Korrekturmöglichkeit
- des Textes ist nicht vorgesehen, da dies Textsysteme viel besser
- können. Das Programm Scrypto dient nur dazu, Texte aus Büchern,
- die man als Zitate in eigene Werke einbauen will, maschinen-
- gerecht aufzubereiten. Noch ein kleiner Tip: Bei kleinen
- Schriften, hilft manchmal die Vergrößerung mit einem Kopiergerät.
- Allerdings dürfen die Vorlagen nicht schräg aufgelegt werden, da
- das Programm die Leerzeilen immer im 90° Winkel abgreift.
-
- Wenn das Programm im Interpretermodus gestartet wird (mit der
- Omikron-Basic-Version vom Herbst 91), kann man sofort nach dem
- Interpretieren eines Bildes das nächste Bild laden. Das
- compilierte Programm bringt hier leider Fehler. Diese Funktion
- ist mit Vorsicht zu genießen.
-
- Was tun wenn...:
-
- ... im Text ein Umlaut markiert wird, aber in der Dialogbox
- nur Buchstabe (wie a, o oder u) erscheint. - Geben Sie
- immer nur das ein, was Sie in der Dialogbox sehen.
-
- ... in der Dialogbox zur Eingabe der Zeichen ein Umlaut mit
- nur einem Punkt erscheint. - Geben Sie den Umlaut ein.
- Die Zeichenfolge "Umlaut ." wird über die Spelling-
- tabelle umgesetzt in den Umlaut.
-
- ... ein Buchstabe nur zur Hälfte in der Dialogbox
- erscheint. - Wenn dies regelmäßig nur bei diesem
- Buchstaben geschieht, so geben Sie für die erste Hälfte
- des Buchstabens das entsprechende Zeichen ein und für
- die zweite Hälfte irgend ein Sonderzeichen. Nach dem
- Analyse-Vorgang erweitern Sie die Spelling-Tabelle um
- diesen einen Eintrag (Buchstabe Sonderzeichen immer
- umsetzen in Buchstabe). Verlassen Sie nun das Programm
- und laden es erneut, dann wird der Text richtig
- übersetzt.
-
- ... regelmäßig ein Buchstabe verwechselt wird, so sollte
- man den Zeichensatz überprüfen. Dies geht mit dem
- Menüpunkt Zeichensatz ändern. Die Dialogbox, die dann
- erscheint, enthält das Feld "Suche Zeichen". Hier kann
- das falsch übersetzte Zeichen angegeben werden. Wird Z.
- B. ein a als s übersetzt, so gibt man hier s ein. In
- der Dialogbox erscheinen dann nacheinander alle
- Zeichenzuordnungen für s. Erscheint in diesem Fall als
- Zeichen ein a, so kann man das s in a umändern.
-
- ... man sich bei der Zeicheneingabe vertippt hat und merkt
- dies sofort, so kann man den Analysevorgang abbrechen
- und kann sich mit dem Menüpunkt Zeichensatz ändern, die
- letzten drei Zeichen in einer Dialogbox ausgeben lassen
- und ggf. ändern.
-
- Dateien:
-
- SCRYPTO.PRG Das Programm
-
- Dateien mit dem Assemblermodule, die vom Programm Scrypto
- Suffix .BAX angesprungen werden. Die zeitkritischen
- Routinen sind alle in Assembler geschrieben.
-
- SCRYPTO.CHR Der Zeichensatz. Der Zeichensatz kann jedoch
- auch anders heißen. Er wird immer unter dem
- gleichen Namen abgespeichert mit dem er
- gelesen wurde. Dies gilt ananlog auch für die
- Spelling-Datei und die Textdatei.
-
- SCRYPTO.SPL Die Spelling-Datei.
-
- SCRYPTO.TXT Die Textdatei.
-
- SCRYPTO.IMG Eine im IMG-Format komprimierte Bilddatei.
- Die Umwandlung in eine MFDB.DATEI, die dann
- im Speicher steht, wird mit dem Assembler-
- modul IMG.BAX erledigt. Dieses Assembler-
- modul kann auch von anderen Programmen
- genutzt werden. Ein Source-Code, aus dem die
- Parameterversorgung ersichtlich ist, ist bei-
- gefügt. Das Programm wurde mit dem sehr guten
- public-domain Assembler TURBOASS erstellt.
- Das Programm SCRYPTO selbst ist in OMIKRON-
- Basic geschrieben. Es hat daher, wie alle
- Omikron-Basic-Programme, die mit Gem-
- Benutzeroberfläche arbeiten, Schwierigkeiten,
- wenn GDOS oder NVDI aus dem AUTO-Ordner
- geladen wird.
- Der Bildtext, der momentan unter SCRYPTO.IMG
- steht ist ein Zitat aus dem Buch
- "Ist die Bibel richtig übersetzt"
- von Pinchas Lapide.
- Es können mehrere Bildtexte nacheinander
- verarbeitet werden. Bei einem Wechsel des
- Zeichensatzes muss man allerdings das
- Programm verlassen.
-
- Dateien mit dem In den ersten 20 Byte dieser Datei steht die
- Suffix .MFDB MFDB (siehe GEM-Befehl VRO_CPYFM). Dieser
- Bereich wird von dem GEM-Befehl wird
- normalerweise verwendet, um bit-image Dateien
- auf dem Bildschirm zu bringen oder im
- im Speicher zu sichern. Die bit-image Datei
- steht im Anschluß an die 20 Bytes.
-
-
- Systemgrenzen:
-
- Das Programm reserviert insgesamt 1,07 MB Speicher, braucht also
- ca 1,2 MB Speicher. Das Programm SCRYPTO muß aus dem Ordner
- SCRYPTO geladen werden, der sich auf Diskette oder einer be-
- liebigen Festplatten-Partition befinden kann. Die IMG-Datei wird
- gemäß ihrem tatsächlichen Platzbedarf im Speicher abgelegt. Die
- Mfdb-Datei ebenfalls. Für die Zeichendatei werden bei Neuein-
- richtung 100000 Bytes reserviert. Wird eine Zeichendatei ein-
- gelesen, so werden zusätzlich zum tatsächlichen Bedarf 50000
- Bytes reserviert. Die Einhaltung dieser Speichergrenze wird
- allerdings vom Programm nicht überprüft. Es empfiehlt sich daher
- nach der Analyse eines Dokuments den Zeichensatz zu sichern. Für
- die Spelling-Datei werden bei Neueinrichtung 10000 Bytes
- reserviert. Wird eine bereits vorhandene Spelling-Datei geladen
- werden zusätzlich 10000 Bytes reserviert.
-
-
- Danksagung:
-
- Dieses Programm ist mein Dank an all' jene, die durch ihr
- Engagement dazu beigetragen haben und noch dazu beitragen, daß
- die Software für den ATARI-Computer sich in erschwinglichen
- finanziellen Grenzen gehalten hat. Falls Sie auch mal einen
- sozialen Tag haben, aber nicht gleich ein Programm schreiben
- wollen, so können Sie z. B. für die Lebenshilfe für geistig
- Behinderte spenden (Kontonummer: 5803865800 bei der Hypo-Bank
- München). Falls Sie an dem Source-Code des Programms interessiert
- sind, so wissen Sie ja sicher, wie das bei public-domain Software
- geht. 20,- DM zuverlässig an meine Adresse und ein Brief mit
- Ihrer Adresse. Dann erhalten Sie eine Diskette mit dem Source-
- Code. Der Überschuß aus dieser Transaktion wird der Lebenshilfe
- für geistig Behinderte gespendet. Meine Adresse:
-
- Dieter von Spreter
- Tettnanger Str. 4
- W-8000 München 60
-
-